博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django学习之表单(forms)
阅读量:5083 次
发布时间:2019-06-13

本文共 2149 字,大约阅读时间需要 7 分钟。

我们的博客现在已经实现了博客列表的查看,博客的查看。现在该是我们实现创建和更新博客的时候了。

要实现博客的创建和更新,我们需要学习Django表单的相关知识。

在处理表单的过程中,Django表单功能做了哪些工作呢?

  • 传递数据的准备和重建
  • 为数据创建HTML表单
  • 从客户端接收和处理提交的表单和数据

Django Form类是系统的核心组件。在django中, 模型描述的是一个对象的逻辑架构,这绵行为,它显现给我们的方式。与此类似,Form类描述的是一个表单和决定它是如何工作和显示的。

一个模型类的字段映射到数据库的字段,与此类似,表单类的字段映射到HTML中表单的<input>元素。

首先,创建一个创建博客的模板文件edit.html

            My Blog                
{% csrf_token %} {
{form.as_p}}

恩,在主页上添加创建博客的链接(先不管美化,实现功能再说)

            My Blog                
{% csrf_token %} {
{form.as_p}}
tmyyss@ubuntu:~/python/django/myproject/blog/templates/blog$ more index.html My Blog edit {% if blogs %} {% for blog in blogs %}

{
{blog.title}}

Published {

{blog.published_time}}

{

{blog.text | linebreaks}}

{% endfor %} {% else %}

No blog was published

{% endif %}

接下来,添加Url

from django.conf.urls import patterns,urlfrom blog.views import *urlpatterns = patterns('',    url(r'^$',index,name='index'),    url(r'^edit/$',edit,name='edit'),    url(r'^(?P
\d+)/$',detail,name='detail'),)

添加url对应的view函数

from django.shortcuts import render,get_object_or_404,redirectfrom blog.models import Blog,PostFormimport datetimedef index(request):    blogs=Blog.objects.all()    return render(request,'blog/index.html',{
'blogs':blogs})def detail(request,id): blog=get_object_or_404(Blog,pk=id) return render(request,'blog/detail.html',{
'blog':blog})def edit(request): if request.method=='POST': form=PostForm(request.POST) if form.is_valid(): post=form.save(commit=False) post.user=request.user post.created_time=datetime.datetime.now() post.published_time=datetime.datetime.now() post.save() return render(request,'blog/detail.html',{
'blog':post}) else: form=PostForm() return render(request,'blog/edit.html',{
'form':form})

好了,启动服务器,输入网址后,我们就可以添加博客文章了。

 

转载于:https://www.cnblogs.com/tmyyss/p/4375082.html

你可能感兴趣的文章
Python编程-函数进阶
查看>>
Windows搭建Log4Net+FileBeat+ELK日志分析系统过程
查看>>
python-code-14
查看>>
(原创)Nhibernate-对象关系映射的两种方式以及一些注意
查看>>
jquery中filter、find、children、contents、contains区别
查看>>
php--------网页开发实现微信JS的(定位,地图显示,照片选择功能)
查看>>
02 servlet基础 生命周期 tomcat web.xml
查看>>
DotNet软件开发框架
查看>>
《BI项目笔记》历年感官评吸质量均值变化分析Cube的建立
查看>>
来,让我们谈一谈Normalize.css
查看>>
修复nexus4由于使用完美刷机或者刷机精灵导致的底层文件受损
查看>>
java JVM
查看>>
netty的入门
查看>>
监控mysql主从同步状态是否异常
查看>>
Leetcode 675.为高尔夫比赛砍树
查看>>
Java对象
查看>>
2017-2018-1 20155226 《信息安全系统设计基础》课程总结
查看>>
个人工作总结10
查看>>
数组的默认值
查看>>
(二)联动的饼图与柱形图
查看>>